package 系统复习.面试题.数组_字符串;

import java.util.Arrays;

/**
 * 给你一个的整数数组 nums, 将该数组重新排序后使 nums[0] <= nums[1] >= nums[2] <= nums[3]..
 * 输入数组总是有一个有效的答案。
 *
 * 贪心，局部到整体
 */
public class L280 {

    public void swap(int[] nums, int i, int j) {
        int temp = nums[i];
        nums[i] = nums[j];
        nums[j] = temp;
    }

    public void wiggleSort(int[] nums) {
        for (int i = 0; i < nums.length - 1; i++) {
            if (((i % 2 == 0) && nums[i] > nums[i + 1])
                    || ((i % 2 == 1) && nums[i] < nums[i + 1])) {
                swap(nums, i, i + 1);
            }
        }
    }


    public static void main(String[] args) {
        L280 l280 = new L280();
        int[] list = new int[]{3,5,2,1,6,4};
        l280.wiggleSort(list);
        System.out.println(Arrays.stream(list));
    }
}
